/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jule.clases;


// para xtream...
import com.thoughtworks.xstream.XStream;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.logging.Level;     // para ArrayList..
import java.util.logging.Logger;
import jule.JuleView;


/**
 *
 * @author Administrador
 */

// utilizamos esta clase para guardar la configuracion actual de
// la aplicacion, es decir ultimo proyecto cargado...
public class conf {

    public project proyectoActual=null;

    public void conf() {
        // si no existe el directorio de configuracion lo creamos...
        // util.createConfDirectory();
        try {
            load();
        } catch (Exception e) {
        }

    }

    public project getProyectoActual() {
        return proyectoActual;
    }

    public void setProyectoActual(project proyectoActual) {
        this.proyectoActual = proyectoActual;
        
    }

    protected String projectTemplateDirectory;

    /**
     * Get the value of projectTemplateDirectory
     *
     * @return the value of projectTemplateDirectory
     */
    public String getProjectTemplateDirectory() {
        return projectTemplateDirectory;
    }

    /**
     * Set the value of projectTemplateDirectory
     *
     * @param projectTemplateDirectory new value of projectTemplateDirectory
     */
    public void setProjectTemplateDirectory(String projectTemplateDirectory) {
        this.projectTemplateDirectory = projectTemplateDirectory;
    }

    
    public static void save(conf pro) throws Exception {

        try {
            // inicializamos por si acaso...
            util ut = new util();

            XStream xstream = new XStream();
            String theXml = xstream.toXML(pro);

            String archivo = ut.confDirectory + ut.fileSeparator + "ule.conf";
            PrintWriter pw = new PrintWriter(new FileWriter(archivo));
            pw.println(theXml);
            pw.flush();
            pw.close();
        } catch (Exception e) {
         //   Logger.getLogger(JuleView.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public static conf load() throws Exception {
        conf confi = null;
        try {
            // inicializamos por si acaso...
            util ut = new util();

            String archivo = ut.confDirectory + ut.fileSeparator + "ule.conf";
            XStream xstream = new XStream();
            BufferedReader reader = new BufferedReader(new FileReader(archivo));
            String theXml = "";
            theXml=util.readFileAsString(archivo);

            confi = (conf) xstream.fromXML(theXml);


        } catch (Exception e) {
        }

        return confi;
    }
}
